<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2.5.1-特性开关</title>
</head>
<body>
    
</body>
    <script>
        /**
         * 本质上是利用 rollup.js 的预定义常量插件来实现
         * 
         * 提供 A、B、C 三个特性给用户， 还提供了 a、b、c 三个对应的特性开关
         * - 通过设置 a、b、c 为 true 或 false 来代表开启或关闭对应的特性
         * 
         * 
         * 1. 用户关闭的特性，我们可以利用 Tree-Shaking 机制让其不包含在最终的资源中
         * 2. 可以通过特性开关任意为框架添加新的特性，而不用担心资源体积变大
         * 3. 当框架升级时，我们也可以通过特性开关来支持遗留 API，
         *     这样新用户可以选择不使用遗留 API，从而使最终打包的资源体积最小化
         * 
         * 为了兼容 Vue.js 2，在 Vue.js 3 中仍然可以使用选项 API 的方式编写代码
         * - 明确知道自己不会使用选项 API，用户就可以使用__VUE_OPTIONS_API__ 开关来关闭该特性， 
         *    这样在打包的时候 Vue.js 的这部分代码就不会包含在最终的资源中，从而减小资源体积
        */


    </script>
</html>